Phrase to phrase joint probability model for statistical machine translation

ABSTRACT

A machine translation (MT) system may utilize a phrase-based joint probability model. The model may be used to generate source and target language sentences simultaneously. In an embodiment, the model may learn phrase-to-phrase alignments from word-to-word alignments generated by a word-to-word statistical MT system. The system may utilize the joint probability model for both source-to-target and target-to-source translation applications.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Application Serial No. 60/368,450, filed on Mar. 27, 2002, the disclosure of which is incorporated by reference.

ORIGIN OF INVENTION

[0002] The research and development described in this application were supported by DARPA-ITO under grant number N66001-00-1-9814 and by NSF-STTR grant 0128379. The U.S. Government may have certain rights in the claimed inventions.

BACKGROUND

[0003] Most of the noisy-channel-based models used in statistical machine translation (MT) are conditional probability models. In the noisy-channel framework, each source sentence “e” in a parallel corpus is assumed to “generate” a target sentence “f” by means of a stochastic process, whose parameters are estimated using traditional Expectation Maximum (EM) techniques. The generative model explains how source words are mapped into target words and how target words are re-ordered to yield well-formed target sentences. A variety of methods are used to account for the re-ordering of target words, including methods using word-based, template based, and syntax-based models (to name just a few). Although these models use different generative processes to explain how translated words are re-ordered in a target language, at the lexical level these models all assume that source words are individually translated into target words.

SUMMARY

[0004] A machine translation (MT) system may develop probabilistic phrase-to-phrase translation lexicons using one or more bilingual corpora. For example, translation lexicons may be developed using a joint probability method, a word-to-word conditional method, or other method.

[0005] The MT system may translate one or more sentences (or sentence fragments) using translation lexicons. For example, the MT system may use a greedy method, a method using a beam stack decoder, or other method to decode sentences.

[0006] In implementations in which translation lexicons are developed using a phrase-based joint probability model, source and target language sentences may be generated simultaneously. The system may utilize the joint probability model for both source-to-target and target-to-source translation applications.

[0007] In embodiments using a word-to-word conditional method, the model may learn phrase-to-phrase alignments from word-to-word alignments generated by a word-to-word statistical MT system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008]FIG. 1 is a block diagram of a machine translation (MT) system including a phrase-based joint probability translation model.

[0009]FIG. 2 shows alignments and probability distributions generated by the phrase-based joint probability model.

[0010]FIG. 3 is a flowchart describing a training algorithm for the phrase-based joint probability model.

[0011]FIG. 4 is shows an example of phrase-based greedy decoding.

[0012]FIG. 5 is a flowchart describing a phrase-based decoding algorithm according to an embodiment.

[0013]FIG. 6 shows pseudo code describing the phrase-based decoding algorithm.

[0014]FIG. 7 is a diagram showing generation of an arc between hypotheses.

[0015]FIG. 8 is a graph showing the effect of phrase length on performance.

[0016]FIG. 9 shows an example estimation of a lexical weight.

[0017]FIG. 10 is a graph showing the effect of lexical weighting on performance.

[0018]FIG. 11 is a graph comparing the performance of different heuristics.

DETAILED DESCRIPTION

[0019] Systems and techniques of the current disclosure may be used to provide more efficient and accurate machine translation (MT). In some implementations, the MT system may develop phrase-to-phrase probabilistic translation lexicons. The probabilistic translation lexicons may be automatically learned from bilingual corpora using, for example, joint probability models or word-to-word conditional models.

[0020] These translation lexicons may then be used to translate new sentences. That is, the translation lexicons may be used to translate sentences not included in the corpora used to train the MT system. Systems and techniques for translation include a greedy method, a method using a beam stack decoder, or other methods.

[0021]FIG. 1 shows a machine translation (MT) system 100 including a translation model 105 and a decoder 110. Translation model 105 may include translation lexicons that may be learned from bilingual corpora. Translation model 105 may assume that lexical correspondences can be established at the word level and the phrase level as well. Decoder 110 may use the translation lexicons to provide a translated sentence based on an input sentence.

[0022] Phrase-to-Phrase Translation Lexicon Development

[0023] According to some embodiments, model 105 may be trained according to a joint probability model. That is, model 105 may develop a translation lexicon automatically using a parallel corpus 115 including parallel source and target language strings. Model 105 does not try to capture how source sentences can be mapped into target sentences, but rather generates source and target sentences simultaneously. In other words, the translation model is a joint probability model that can be easily marginalized in order to yield conditional probability models for both source-to-target and target-to source machine translation applications.

[0024] In an embodiment, model 105 may generate sentence pairs using the following stochastic process:

[0025] 1. Generate a bag of concepts C.

[0026] 2. For each concept c_(i)εC, generate a pair of phrases ({right arrow over (e)}_(i), {right arrow over (f)}_(i)), according to the distribution t({right arrow over (e)}_(i), {right arrow over (f)}_(i)), where {right arrow over (e)}_(i) and {right arrow over (f)}_(i) each contain at least one word.

[0027] 3. Order the phrases generated in each language so as to create two linear sequences of phrases; sequences correspond to the sentence pairs in a bilingual corpus.

[0028] For simplicity, it is assumed that the bag of concepts and the ordering of the generated phrases are modeled by uniform distributions. It is also assumed that c_(i)=({right arrow over (e)}_(i), {right arrow over (f)}_(i)). Under these assumptions, it follows that the probability of generating a sentence pair (E, F) using concepts c_(i)εC is given by the product of all phrase-to-phrase translation probabilities, Π_(c) _(i) εc ({right arrow over (e)}_(i), {right arrow over (f)}_(i)) that yield bags of phrases that can be ordered linearly so as to obtain the sentences E and F.

[0029]FIG. 2 illustrates an example. The sentence pair “a b c”--“x y” can be generated using two concepts, (“a b”: “y”) and (“c”: “x”), or one concept, (“a b c”: “x y”), because in both cases the phrases in each language can be arranged in a sequence that would yield the original sentence pair. However, the same sentence pair cannot be generated using the concepts (“a b”: “y”) and (“c”: “y”) because the sequence “x y” cannot be recreated from the two phrases “y” and “y”. Similarly, the pair can be generated using concepts (“a c”: “x”) and (“b”: “y”) because the sequence “a b c” cannot be created by concatenating the phrases “a c” and “b”.

[0030] The set of concepts C can be linearized into a sentence pair (E, F) if E and F can be obtained by permuting the phrases {right arrow over (e)}_(i) and {right arrow over (f)}_(i) that characterize all concepts c_(i)εC. We denote this property using the predicate L(E, F, C). Under this model, the probability of a given sentence pair (E, F) can then be obtained by summing up over all possible ways of generating bags of concepts c_(i)εC that can be linearized to (E, F). ${p\left( {E,F} \right)} = {\sum\limits_{c = {c|{L{({E,F,C})}}}}^{\quad}{\prod\limits_{c_{i} \in C}^{\quad}\quad {t\left( {{\overset{\rightarrow}{e}}_{i},{\overset{\rightarrow}{f}}_{i}} \right)}}}$

[0031] The model described above (“Model 1”) has been found to produce fairly good alignments. However, this model may be unsuited for translating unseen sentences, as it imposes no constraints on the ordering of the phrases associated with a given concept. In order to account for this, a modified model (“Model 2”) was developed to account for distortions. The generative story of the model is this:

[0032] 1. Generate a bag of concepts C.

[0033] 2. Initialize E and F to empty sequences c.

[0034] 3. Randomly take a concept c_(i)εC and generate a pair of phrases ({right arrow over (e)}_(i), {right arrow over (f)}_(i)), according to the distribution t({right arrow over (e)}_(i), {right arrow over (f)}_(i)), where {right arrow over (e)}_(i) and {right arrow over (f)}_(i) each contain at least one word. Remove then c_(i) from C.

[0035] 4. Append phrase {right arrow over (f)}_(i) at the end of F. Let k be the start position of {right arrow over (f)}_(i) in F.

[0036] 5. Insert phrase {right arrow over (e)}_(i) at position l in E provided that no other phrase occupies any of the positions l and l+|{right arrow over (e)}_(i)|, where |{right arrow over (e)}_(i)| gives the length of the phrase {right arrow over (e)}_(i). The system hence create the alignment between the two phrases {right arrow over (e)}_(i) and {right arrow over (f)}_(i) with probability ${\prod\limits_{p = k}^{{k +}|\overset{\rightarrow}{f}|}\quad {d\left( {p,{\left( \left. {l +} \middle| {\overset{\rightarrow}{e}}_{i} \right| \right)/2}} \right)}},$

[0037] where d(i, j) is a position-based distortion distribution.

[0038] 6. Repeat steps 3 to 5 until C is empty.

[0039] In this model, the probability to generate a sentence pair (E, F) is given by the following formula: ${p\left( {E,F} \right)} = {\sum\limits_{{C\quad {\varepsilon c}}|{L{({E,F,C})}}}^{\quad}{\prod\limits_{c_{i} \in C}^{\quad}\left\lbrack {{t\left( {e_{i},f_{i}} \right)} \times {\prod\limits_{k = 1}^{|\overset{\rightarrow}{f_{i}}|}\quad {d\left( {{{pos}\left( f_{i}^{k} \right)},{{pos}_{cm}\left( {\overset{\rightarrow}{e}}_{i} \right)}} \right)}}} \right\rbrack}}$

[0040] where pos({right arrow over (f)}_(i) ^(k)) denotes the position of word k of phrase {right arrow over (f)}_(i) in sentence F and pos_(cm)({right arrow over (e)}_(i) ^(k)) denotes the position in sentence E of the center of mass of phrase e_(i).

[0041] Training the models described above may be computationally challenging. Since there is an exponential number of alignments that can generate a sentence pair (E, F), the Expectation Maximum (EM) training algorithm cannot be applied exhaustively. FIG. 3 is a flowchart describing a training algorithm 300 for the phrase-based joint probability model which takes this problem into account.

[0042] The system determines high-frequency n-grams in E and F (block 305). If one assumes from the outset that any phrases {right arrow over (e)}_(i)εE* and {right arrow over (f)}_(i)εF* can be generated from a concept c_(i), one would need a supercomputer in order to store in the memory a table that models the t({right arrow over (e)}_(i), {right arrow over (f)}_(i)) distribution. Since the system doesn't have access to computers with unlimited memory, the system initially learns t distribution entries only for the phrases that occur often in the corpus and for unigrams. Then, through smoothing, the system learns t distribution entries for the phrases that occur rarely as well. In order to be considered in the next step of the algorithm, a phrase has to occur at least five times in the corpus.

[0043] The next step is to initialize the t-distribution table (block 310). Before the EM training procedure starts, one has no idea what word/phrase pairs are likely to share the same meaning. In other words, all alignments that can generate a sentence pair (E, F) can be assumed to have the same probability. Under these conditions, the evidence that a sentence pair (E, F) contributes to the fact that ({right arrow over (e)}_(i), {right arrow over (f)}_(i)) are generated by the same concept c_(i) is given by the number of alignments that can be built between (E, F) that have a concept c_(i) that is linked to phrase {right arrow over (e)}_(i) sentence E and phrase {right arrow over (f)}_(i) in sentence F divided by the total number of alignments that can be built between the two sentences. Both these numbers can be easily approximated.

[0044] Given a sentence E of l words, there are S(l, k) ways in which the l words can be partitioned into k non-empty sets/concepts, where S(l, k) is the Stirling number of second kind. ${S\left( {l,k} \right)} = {\frac{1}{k!}{\sum\limits_{i = 0}^{k - 1}{\left( {- 1} \right)^{i}\begin{pmatrix} k \\ i \end{pmatrix}\left( {k - i} \right)^{n}}}}$

[0045] There are also S(m, k) ways in which the m words of a sentence F can be partitioned into k non-empty sets. Given that any words in E can be mapped to any words in F, it follows that there are $\sum\limits_{k = 1}^{\min {({l,m})}}{{k!}{S\left( {{s\left( {l,k} \right)}{S\left( {m,k} \right)}} \right.}}$

[0046] alignments that can be built between two sentences (E, F) of lengths l and m, respectively. When a concept ci generates two phrases ({right arrow over (e)}_(i), {right arrow over (f)}_(i)) of length a and b, respectively, there are only l-a and m-b words left to link. Hence, in the absence of any other information, the probability that phrases {right arrow over (e)}_(i) and {right arrow over (f)}_(i) are generated by the same concept c_(i) is given by the following formula: $\frac{\sum\limits_{k = 1}^{\min {({{l - a},{m - b}})}}{{k!}{S\left( {{s\left( {{l - a},k} \right)}{S\left( {{m - b},k} \right)}} \right.}}}{\sum\limits_{k = 1}^{\min {({l,m})}}{{k!}{S\left( {{s\left( {l,k} \right)}{S\left( {m,k} \right)}} \right.}}}$

[0047] Note that the fractional counts returned by the formula are only an approximation of the t distribution the system are interested in because the Stirling numbers of the second kind do not impose any on the words that are associated with a given concept be consecutive. However, since the formula overestimates the numerator and denominator equally, the approximation works well in practice.

[0048] In the second step of the algorithm, the system applies the formula to collect fractional counts for all unigram and high-frequency n-gram pairs in the Cartesian product defined over the phrases in each sentence pair (E, F) in a corpus. The system sums over all these t-counts and normalizes to obtain an initial joint distribution t. This step amounts to running the EM algorithm for one step over all possible alignments in the corpus.

[0049] In the third step of the algorithm, the system performs EM training on Viterbi alignments (block 315). Given a non-uniform t distribution, phrase-to-phrase alignments have different weights and there are no other tricks one can apply to collect fractional counts over all possible alignments in polynomial time. Starting with block 315 of the algorithm in FIG. 3, for each sentence pair in a corpus, the system greedily produce an initial alignment by linking together phrases so as to create concepts that have high t probabilities. The system then hillclimbs towards the Viterbi alignment of highest probability by breaking and merging concepts, swapping words between concepts, and moving words across concepts. The system computes the probabilities associated with all the alignments the system generated during the hillclimbing process and collects t counts over all concepts in these alignments.

[0050] The system applies this Viterbi-based EM training procedure for a few iterations. The first iterations estimate the alignment probabilities using Model 1. The rest of the iterations estimate the alignment probabilities using Model 2.

[0051] During training, the system applies smoothing so the system can associate non-zero values to phrase-pairs that do not occur often in the corpus.

[0052] At the end of the training procedure, the system takes marginals on the joint probability distributions t and d (block 320). This yields conditional probability distributions t({right arrow over (e)}_(i), {right arrow over (f)}_(i)) and d(posF|posE), which the system uses for decoding.

[0053] When the system run the training procedure in FIG. 3 on the corpus in FIG. 2, after four Model 1 iterations the system obtain the alignments 205 and the joint and conditional probability distributions 210. At prima facie, the Viterbi alignment for the first sentence pair may appear incorrect because humans have a natural tendency to build alignments between the smallest phrases possible. However, note that the choice made by our model is quite reasonable. After all, in the absence of additional information, the model can either assume that “a” and “y” mean the same thing or that phrases “a b c” and “x y” mean the same thing. The model chose to give more weight to the second hypothesis, while preserving some probability mass for the first one.

[0054] Also note that although the joint distribution puts the second hypothesis at an advantage, the conditional distribution does not. The conditional distribution 210 is consistent with our intuitions that tell us that it is reasonable both to translate “a b c” into “x y”, as well as “a” into “y”. The conditional distribution mirrors our intuitions.

[0055] In an alternative embodiment, a system such as system 100 of FIG. 1 may learn phrase-to-phrase translations from word-to-word alignments. That is, a model such as model 105 may develop a phrase translation lexicon by expanding word-to-word translation lexicons learned by word-to-word models. The phrase translation model is based on the noisy channel model. The system use Bayes rule to reformulate the translation probability for translating a foreign sentence f into English e as

argmax_(e) p(e|f)=argmax_(e) p(f|e)p(e)

[0056] This allows for a language model p(e)and a separate translation model P(f|e).

[0057] During decoding (i.e., translation), the foreign input sentence f is segmented into a sequence of I phrases {overscore (f)}₁ ^(l). The system assumes a uniform probability distribution over all possible segmentations.

[0058] Each foreign phrase {overscore (f)}_(i) in {overscore (f)}₁ ^(l) is translated into an English phrase {overscore (e)}_(i) . The English phrases may be re ordered. Phrase translation is modeled by a probability distribution φ({overscore (f)}_(i)|{overscore (e)}_(i)). Due to the Bayes rule, the translation direction is inverted from a modeling standpoint.

[0059] Reordering of the English output phrases is modeled by a relative distortion probability distribution d(a_(i)−b_(i−1)), where a_(i) denotes the start position of the foreign phrase that was translated into the ith English phrase, and b_(i−1), denotes the end position of the foreign phrase translated into the (i−1)th English phrase.

[0060] The distortion probability distribution d(·) may be trained using a joint probability model, such as that described in connection with the previous described embodiment. Alternatively, the system could also use a simpler distortion model d(a_(i)−b_(i−1))=α^(|a) ^(_(i)) ^(−b) ^(_(i−1)) ^(−1|) with an appropriate value for the parameter α.

[0061] In order to calibrate the output length, the system introduces a factor ω for each generated English word in addition to the trigram language model p_(LM). This is a simple means to optimize performance. Usually, this factor is larger than 1, biasing longer output.

[0062] In summary, the best English output sentence e_(best) given a foreign input sentence f according to the model is

E _(best)=argmax_(e) p(e|f)

=argmax_(e) p(f|e)p _(LM)(e)ω^(length(e))

[0063] where p(f|e) is decomposed into ${p\left( {\overset{\_}{f}}_{1}^{I} \middle| {\overset{\_}{e}}_{1}^{I} \right)} = {\prod\limits_{i = 1}^{I}\quad {{\varphi \left( {\overset{\_}{f}}_{i} \middle| {\overset{\_}{e}}_{i} \right)}{d\left( {a_{i} - b_{i - 1}} \right)}}}$

[0064] The Giza++ toolkit was developed to train word-based translation models from parallel corpora. As a by-product, it generates word alignments for this data. The system may improve this alignment with a number of heuristics. The system collects all aligned phrase pairs that are consistent with the word alignment. The words in a legal phrase pair are only aligned to each other, and not to words outside. Given the collected phrase pairs, the system estimates the phrase translation probability distribution by relative frequency: ${\varphi \left( \overset{\_}{f} \middle| \overset{\_}{e} \right)} = \frac{{count}\quad \left( \overset{\_}{f} \middle| \overset{\_}{e} \right)}{\sum\limits_{\overset{\_}{f}}^{\quad}{{count}\quad \left( \overset{\_}{f} \middle| \overset{\_}{e} \right)}}$

[0065] In some embodiments, smoothing may be performed.

[0066] If the system collects all phrase pairs that are consistent with word alignments, this includes many non-intuitive phrases. For instance, translations for phrases such as “house the” may be learned. Intuitively the system would be inclined to believe that such phrases do not help. Restricting possible phrases to syntactically motivated phrases could filter out such non-intuitive pairs.

[0067] Another motivation to evaluate the performance of a phrase translation model that contains only syntactic phrases comes from recent efforts to built syntactic translation models. In these models, reordering of words is restricted to reordering of constituents in well-formed syntactic parse trees. When augmenting such models with phrase translations, typically only translation of phrases that span entire syntactic subtrees is possible. It is important to know if this is a helpful or harmful restriction.

[0068] The system may define a syntactic phrase as a word sequence that is covered by a single subtree in a syntactic parse tree. We collect syntactic phrase pairs as follows: the system word-aligns a parallel corpus, as described above. The system then parses both sides of the corpus with syntactic parsers. For all phrase pairs that are consistent with the word alignment, the system additionally checks if both phrases are subtrees in the parse trees. Only these phrases are included in the model. Hence, the syntactically motivated phrase pairs learned are a subset of the phrase pairs learned without knowledge of syntax. The phrase translation probability distribution may be estimated by relative frequency.

[0069]FIG. 8 displays results from experiments with different maximum phrase lengths. All phrases consistent with the word alignment (AP) were used. As shown in FIG. 8, limiting the length to a maximum of only three words per phrase already achieves top performance. Learning longer phrases does not yield any improvement. Reducing the limit to only two, however, is detrimental. Allowing for longer phrases increases the phrase translation table size. The increase is almost linear with the maximum length limit. Still, none of these model sizes caused memory problems.

[0070] The system may validate the quality of a phrase translation pair by checking how well its words translate to each other. For this, a lexical translation probability distribution w(f|e) may be used. The distribution may be estimated by relative frequency from the same word alignments as the phrase model ${w\left( f \middle| e \right)} = \frac{{count}\quad \left( {f,e} \right)}{\sum\limits_{f^{\prime}}^{\quad}{{count}\quad \left( {f^{\prime},e} \right)}}$

[0071] A special English NULL token may be added to each English sentence and aligned to each unaligned foreign word.

[0072] Given a phrase pair {overscore (f)},{overscore (e )}and a word alignment a between the foreign word positions I−1, . . . , n and the English word positions j=0, 1, . . . , m, the system computes the lexical weight p_(w) by ${p_{w}\left( {\left. \overset{\_}{f} \middle| \overset{\_}{e} \right.,a} \right)} = {\prod\limits_{i = 1}^{n}\quad {\frac{1}{\left| \left\{ j \middle| {\left( {i,j} \right) \in a} \right\} \right|}{\sum\limits_{\forall{{({i,j})} \in a}}^{\quad}{w\left( f_{i} \middle| e_{i)} \right.}}}}$

[0073]FIG. 9 shows an example.

[0074] If there are multiple alignments a for a phrase pair ({overscore (f)},{overscore (e)}), the system may use the alignment with the highest lexical weight:

p _(w)({overscore (f)}|{overscore (e)})=max_(a) p _(w)({overscore (f)}|{overscore (e)},a)

[0075] The system may use the lexical weight p_(w) during translation as an additional factor. This means that the model p(f|e) is extended to $p\left( {{{\overset{\_}{f}}_{1}^{I}\left. {\overset{\_}{e}}_{1}^{I} \right)} = {\prod\limits_{i = 1}^{I}\quad {\varphi\left( {{\overset{\_}{f}}_{i}\left. {\overset{\_}{e}}_{i} \right){d\left( {a_{i} - b_{i - 1}} \right)}{p_{w}\left( {{\overset{\_}{f}}_{i}\left. {{\overset{\_}{e}}_{i},a} \right)^{\lambda}} \right.}} \right.}}} \right.$

[0076] The parameter λ defines the strength of the lexical weight p_(w). Good values for this parameter are around 0.25.

[0077]FIG. 10 shows the impact of lexical weighting on machine translation performance. In our experiments, the system achieved improvements of up to 0.01 on the BLEU score scale.

[0078] Phrase translation with a lexical weight is a special case of the alignment template model with one word class for each word. The simplification performed by the system has the advantage that the lexical weights can be factored into the phrase translation table beforehand, speeding up decoding. In contrast to the beam search decoder for the alignment template model, the decoding method described in connection with FIGS. 5 and 6, are able to search all possible phrase segmentations of the input sentence, instead of choosing one segmentation before decoding.

[0079] In the experiment, the system learned phrase pairs from word alignments generated by Giza++. The IBM Models that this toolkit implements only allow at most one English word to be aligned with a foreign word. The system remedies this problem with a heuristic approach.

[0080] First, the system aligns a parallel corpus bidirectionally, i.e., foreign to English and English to foreign. This gives two word alignments that the system tries to reconcile. If the system intersects the two alignments, the system gets a high-precision alignment of high-confidence alignment points. If the system takes the union of the two alignments, the system gets a high-recall alignment with additional alignment points.

[0081] The space between intersection and union may be expansion heuristics that start with the intersection and add additional alignment points. The decision which points to add may depend on a number of criteria, e.g., which alignment does the potential alignment point exist (Foreign-English or English-Foreign), whether the potential point neighbor already established points, whether “neighboring” means directly adjacent (block-distance), or also diagonally adjacent whether the English or the foreign word that the potential point connects are unaligned so far, and if both are unaligned and the lexical probability for the potential point.

[0082] The system starts with intersection of the two word alignments. The system only adds new alignment points that exist in the union of two word alignments. The system also always requires that a new alignment point connects at least one previously unaligned word.

[0083] First, the system expands to only directly adjacent alignment points. The system checks for potential points starting from the top right corner of the alignment matrix, checking for alignment points for the first English word, then continues with alignment points for the second English word, and so on. This is done iteratively until no more alignment point can be added. In a final step, the system adds non-adjacent alignment points, with otherwise the same requirements.

[0084]FIG. 11 shows the performance of this heuristic (base) compared against the two mono-directional alignments (e2f, f2e) and their union (union). The figure also contains two modifications of the base heuristic: In the first (diag) the system also permit diagonal neighborhood in the iterative expansion stage. In a variation of this (diag-and), the system requires in the final step that both words are unaligned.

[0085] The ranking of these different methods varies for different training corpus sizes. For instance, the alignment f2e starts out second to worst for the 10,000 sentence pair corpus, but ultimately is competitive with the best method at 320,000 sentence pairs. The base heuristic is initially the best, but then drops off. The discrepancy between the best and the worst method is quite large, about 0.2 BLEU (an IBM scoring system), for almost all training corpus sizes, albeit not always significantly.

[0086] Decoding

[0087] The phrase-based decoder in some embodiments may employ a beam search algorithm. The English output is generated left to right in form of partial translations (or hypotheses).

[0088] The system may begin the search of possible translations in an initial state where no foreign input words are translated and no English output words have been generated. New states may be created by extending the English output with a phrasal translation of that covers some of the foreign input words not yet translated. The current cost of the new state is the cost of the original state multiplied with the translation, distortion and language model costs of the added phrasal translation.

[0089] Each search space (hypothesis) is represented by (a) a back link to the best previous state, (b) the foreign words covered so far, (c) the last two English words generated (needed for computing future language model costs), (d) the end of the last foreign phrase covered (needed for computing future distortion costs), (e) the last added English phrase (needed for reading the translation from a path of hypotheses), (f) the cost so far, and (g) the estimate of the future cost.

[0090] Final states in the search are hypotheses that cover all foreign words. Among these the hypothesis with the lowest cost is selected as best translation.

[0091] Two hypotheses can be merged, if they agree in (a) the foreign words covered so far, (b) the last two English words generated, and (c) the end of the last foreign phrase covered.

[0092] If there are two paths that lead to two hypotheses that agree in these properties, the system keeps the cheaper hypothesis, e.g., the one with less cost so far. The other hypothesis cannot be part of the path to the best translation, and the system can safely discard it. Note that the inferior hypothesis can be part of the path to the second best translation.

[0093]FIG. 5 is a flowchart describing a phrase-based decoding operation 500 according to an embodiment. An algorithm describing the operation is shown in FIG. 6. The system may start with an initial empty hypothesis. A new hypothesis is then expanded from an existing hypothesis by the translation of a phrase. A sequence of untranslated foreign words and a possible English phrase translation for them is selected (block 505). The English phrase is attached to the existing English output sequence (block 510). Then the foreign words are marked as translated and the probability cost of the hypothesis is updated (block 515). The cheapest (highest probability) final hypothesis with no untranslated foreign words is the output of the search (block 520).

[0094] The hypotheses are stored in stacks. The stack s_(m) contains all hypotheses in which m foreign words have been translated. The system may recombine search hypotheses. While this reduces the number of hypotheses stored in each stack somewhat, stack size is exponential with respect to input sentence length. This makes an exhaustive search impractical.

[0095] Thus, the system prunes out weak hypotheses based on the cost they incurred so far and a future cost estimate. For each stack, the system only keeps a beam of the best n hypotheses. Since the future cost estimate is not perfect, this leads to search errors. Our future cost estimate takes into account the estimated phrase translation cost, but not the expected distortion cost.

[0096] For each possible phrase translation anywhere in the sentence (referred to as a “translation option”), the system multiplies its phrase translation probability with the language model probability for the generated English phrase. As language model probability, the system may use the unigram probability for the first word, the bigram probability for the second, and the trigram probability for all following words.

[0097] Given the costs for the translation options, the system can compute the estimated future cost for any sequence of consecutive foreign words by dynamic programming. Note that this is only possible, since the system ignore distortion costs. Since there are only n(n+1)/2 such sequences for a foreign input sentence of length n, the system can pre-compute these cost estimates beforehand and store them in a table.

[0098] During translation, future costs for uncovered foreign words can be quickly computed by consulting this table. If a hypothesis has broken sequences of untranslated foreign words, the system look up the cost for each sequence and take the product of their costs.

[0099] The space of hypotheses generated during the beam search forms a lattice of paths, each representing a translation, for which a translation score can be easily computed. Extracting the n-best paths from such a lattice is a well-studied problem.

[0100] Paths branch out, when there are multiple translation options for a hypothesis from which multiple new hypotheses can be derived. Paths join, when hypotheses are merged. As described above, the system may discard a hypothesis if it agrees with a lower-cost hypothesis with some of the same properties. In order to keep the information about merging paths, the system keeps a record of such mergings that contains identifier of the previous hypothesis, identifier of the lower-cost hypothesis, and cost from the previous to higher-cost hypothesis.

[0101]FIG. 7 gives an example for the generation of such an arc. In this case, the hypotheses 2 and 4 are equivalent in respect to the heuristic search, as detailed above. Hence, hypothesis 4 is deleted. But to retain the information about the path leading from hypothesis 3 to 2, the system stores a record of this arc 705. The arc also contains the cost added from hypothesis 3 to 4. Note that the cost from hypothesis 1 to hypothesis 2 does not have to be stored, since it can be recomputed from the hypothesis data structures.

[0102] The beam size, e.g., the maximum number of hypotheses in each stack, may be fixed to a certain number. The number of translation options is linear with the sentence length. Hence, the time complexity of the beam search is quadratic with sentence length, and linear with the beam size.

[0103] Since the beam size limits the search space and therefore search quality, the system has to find the proper trade-off between speed (low beam size) and performance (high beam size). In experiments, a beam size of only 100 proved to be sufficient. With larger beams sizes, only a few sentences were translated differently. The decoder translated 1755 sentence of length 5 to 15 words in about 10 minutes on a 2 GHz Linux® system. The system achieved fast decoding, while ensuring high quality.

[0104] In some embodiments, a decoder such as decoder 110 of FIG. 1 may implement a greedy procedure. Given a foreign sentence F, the decoder first produces gloss of it by selecting phrases in E* that the probability p(E, F). The decoder then iteratively hillclimb by modifying E and the alignment between E and F so as to maximize the formula p(E)p(F|E). The decoder hillclimbs by modifying an existing alignment/translation through a set of operations that modify locally the alignment/translation built until a given time. These operations replace the English side of an alignment with phrases of different probabilities, merge and break existing concepts, and swap words across concepts. The probability p(E) is computed using a simple trigram language model. The language model is estimated at the word (not phrase) level. FIG. 3 shows the steps taken by the decoder in order to find the translation of sentence “je vais me arrêter là.” Each intermediate translation 405 in FIG. 4 is preceded by its probability 410 and succeeded by the operation that changes it to yield a translation of higher probability.

[0105] A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, blocks in the flowcharts may be skipped or performed out of order and still produce desirable results. Different translation methods may be used. Accordingly, other embodiments are within the scope of the following claims. 

1. A method comprising: training a phrase-based joint probability model with a parallel corpus comprising a plurality of parallel text segments in two languages.
 2. The method of claim 1, further comprising: determining high frequency n-grams in a sentence pair comprising E and F; initializing a t-distribution table; performing a Viterbi-based Expectation Maximum training procedure; and deriving a conditional probability model. 